package cn.exrick.manager.service;

import cn.exrick.common.pojo.DataTablesResult;
import cn.exrick.manager.dto.front.AllGoodsResult;
import cn.exrick.manager.pojo.TbItem;
import cn.exrick.manager.pojo.TbNav;
import cn.exrick.manager.pojo.TbPanelContent;

import java.util.List;


/**
 * 轮播图和导航栏
 */
public interface ContentService {

    /**
     * 添加轮播图
     * @param tbPanelContent
     * @return
     */
    int addPanelContent(TbPanelContent tbPanelContent);

    /**
     * 获取轮播图
     * @return
     */
    List<TbPanelContent> getPanelContentList();

    /**
     * 删除轮播图
     * @param id
     * @return
     */
    int deletePanelContent(int id);

    /**
     * 编辑轮播图
     * @param tbPanelContent
     * @return
     */
    int updateContent(TbPanelContent tbPanelContent);

    /**
     * 通过id获取轮播图内容
     * @param id
     * @return
     */
    TbPanelContent getTbPanelContentById(int id);


    /**
     * 获取商品推荐板块
     * @return
     */
    List<TbItem> getRecommendGoods();


    /**
     * 获取商品详情
     * @param id
     * @return
     */
    TbItem getGoodsDetail(Long id);

    /**
     * 分页多条件获取全部商品
     * @param page
     * @param size
     * @param sort
     * @param priceGt
     * @param priceLte
     * @return
     */
    AllGoodsResult getAllProduct(int page, int size, String sort, Long cid, String search, int priceGt, int priceLte);

    /**
     * 获取导航栏
     * @return
     */
    List<TbNav> getNavList();

    void addNav(TbNav tbNav);

    void updateNav(TbNav tbNav);

    void deleteNav(List<Long> ids);

    TbNav getNavById(Long id);

    List<TbNav> getNavListByType(Integer type);

    DataTablesResult getNavList(int draw, int start, int length, String isParent, String type, String search, String orderCol, String orderDir);
}
